iT邦幫忙

2026 iThome 鐵人賽

DAY 28
0
AI Engineering

30 天從資料處理、分析到生成式 AI 的整合應用與實作學習系列 第 28 篇

認識 Deployment:如何將 Backend 部署成 Public Server?

  • 分享至 

  • xImage
  •  

目前 LINE 已經可以透過 Webhook 使用前面的 AI 睡眠分析功能,不過前面是使用 ngrok 建立 Public URL,所以 Java Server 實際上還是執行在自己的電腦上。也就是說,只要 Java Server 或 ngrok 關閉,LINE 就沒有辦法繼續連到 Backend。所以今天要進一步了解 Deployment(部署)。

Deployment

就是將原本在本機開發、測試的程式,從開發環境放到可供使用者存取與執行的環境。以目前的專案來說,就是把原本在自己的電腦上執行的 Java Backend,放到外部 Server 上執行,跟之前最大的差別就是 ngrok 只是讓外部可以連到我的本機,而 Deployment 是讓 Backend 本身就在外部的執行環境中運作。

為什麼部署很重要?

它是讓程式從開發階段走向實際使用的重要一步。如果程式只執行在自己的電腦上,其他使用者就很難持續使用這項服務。因此當一個應用程式完成開發後,還需要透過部署,讓它可以在實際的環境中提供服務。正式上線後,需要進一步考慮服務的穩定性、安全性以及後續更新。例如 Server 是否能正常運作、API Key 是否安全保存,以及程式更新後能不能正常提供服務。

不同的執行環境

Development(開發環境) 開發人員在本地或開發伺服器上撰寫和修改程式,進行功能開發和初步測試。
Testing(測試環境) 在正式提供服務前,用來確認不同功能整合後能不能正常運作。
Production(正式環境) 真正提供給使用者使用的環境。

環境變數

部署時還有一個需要特別注意的地方,就是前面設定的環境變數並不會因為 Java 程式被部署,就自動出現在新的 Server 上,因此需要重新設定。

localhost、ngrok 和 Public Server 的差別

  1. localhost
    代表目前這台裝置,因此 LINE Platform 無法透過 localhost 直接找到我的 Java Server。
  2. ngrok
    提供一個公開網址,把外部 Request 轉送到本機,解決 LINE 找不到 localhost 的問題,但是 Backend 本身仍然執行在自己的電腦上。
  3. Public Server
    部署後 Java Backend 直接在外部 Server 上執行,因此 LINE 可以透過公開的網址直接連到 Backend。

上一篇
LINE 收到訊息後,怎麼串接原本的 Gemini 分析?
下一篇
不用 ngrok 也能連線?實際 Deployment
系列文
30 天從資料處理、分析到生成式 AI 的整合應用與實作學習 共 30 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言